package com.ylkj.user.services;

import com.ylkj.core.page.IGenericPage;
import com.ylkj.user.model.TalentAdmin;

import java.util.List;

public interface AdminService {

    /**
     * 保存信息
     *
     * @param ob
     * @return
     */
    int save(TalentAdmin ob) throws Exception;

    /**
     * 获取信息
     *
     * @param
     * @return
     */
    TalentAdmin getById(Long id);


    /**
     * 获取信息
     *
     * @param
     * @return
     */
    TalentAdmin getByUid(String uid);

    /**
     * 获取信息
     *
     * @param
     * @return
     */
    TalentAdmin getByMobile(String  mobile);

    /**
     * 修改信息
     *
     * @param ob
     * @return
     */
    int update(TalentAdmin ob) throws Exception;

    /**
     * 删除信息
     *
     * @param
     * @return
     */
    int deleteById(Long id) throws Exception;

    /**
     * 删除信息
     *
     * @param
     * @return
     */
    int deleteByUId(String uid) throws Exception;

    /**
     * 分页查询
     *
     * @param param    查询参数
     * @param pageNo   要查询的页号
     * @param pageSize 每页数据个数
     * @param sort     排序字段名
     * @param dir      排序方式（升序(asc)或降序(desc)
     * @return 查询结果分页数据
     */
    IGenericPage<TalentAdmin> findPageBy(TalentAdmin param, int pageNo, int pageSize, String sort, String dir);

    /**
     * 获取满足查询参数条件的数据总数
     *
     * @param param 查询参数
     * @return 数据总数
     */
    Integer getCountBy(TalentAdmin param);

    /**
     * 不分页查询
     *
     * @param param 查询参数
     * @param sort  排序字段名
     * @param dir   排序方式（升序(asc)或降序(desc)
     * @return 查询结果列表
     */
    List<TalentAdmin> findListBy(TalentAdmin param, String sort, String dir);

    /**
     * 不分页查询
     *
     * @param param 查询参数
     * @param sort  排序字段名
     * @param dir   排序方式（升序(asc)或降序(desc)
     * @return 查询结果列表
     */
    List<Object> findListByMapData(TalentAdmin param, String sort, String dir);


}
